type MessageFuncCompProps = React.PropsWithChildren<{
  message: string;
}>

const MessageFuncComp1 = ({message}: MessageFuncCompProps) => <div>{message}</div>

// 推荐
const MessageFuncComp2 = ({message}: MessageFuncCompProps): React.JSX.Element => <div>{message}</div>

// 内联类型声明，与type类型重复
const MessageFuncComp3 = ({message}: {message: string}) => <div>{message}</div>

// 不推荐，React.FC是显式定义返回类型，其他方式是隐式推导；React.FC为children提供了隐式的类型（ReactElement | null），目前会存在一些问题
const MessageFuncComp4: React.FunctionComponent<MessageFuncCompProps> = ({message}) => <div>{message}</div>


export {
  MessageFuncComp1,
  MessageFuncComp2,
  MessageFuncComp3,
  MessageFuncComp4
}